28 research outputs found

    Programming Models for Heterogeneity Management in Parallel and Pervasive Applications

    Get PDF
    La tesi affronta le tematiche della programmazione ad alte prestazioni per il campo di ricerca delle "Pervasive Grid" mediante l'impiego di un modello di programmazione innovativo per architetture eterogenee

    The parallel event loop model and runtime: a parallel programming model and runtime system for safe event-based parallel programming

    Get PDF
    Recent trends in programming models for server-side development have shown an increasing popularity of event-based single- threaded programming models based on the combination of dynamic languages such as JavaScript and event-based runtime systems for asynchronous I/O management such as Node.JS. Reasons for the success of such models are the simplicity of the single-threaded event-based programming model as well as the growing popularity of the Cloud as a deployment platform for Web applications. Unfortunately, the popularity of single-threaded models comes at the price of performance and scalability, as single-threaded event-based models present limitations when parallel processing is needed, and traditional approaches to concurrency such as threads and locks don't play well with event-based systems. This dissertation proposes a programming model and a runtime system to overcome such limitations by enabling single-threaded event-based applications with support for speculative parallel execution. The model, called Parallel Event Loop, has the goal of bringing parallel execution to the domain of single-threaded event-based programming without relaxing the main characteristics of the single-threaded model, and therefore providing developers with the impression of a safe, single-threaded, runtime. Rather than supporting only pure single-threaded programming, however, the parallel event loop can also be used to derive safe, high-level, parallel programming models characterized by a strong compatibility with single-threaded runtimes. We describe three distinct implementations of speculative runtimes enabling the parallel execution of event-based applications. The first implementation we describe is a pessimistic runtime system based on locks to implement speculative parallelization. The second and the third implementations are based on two distinct optimistic runtimes using software transactional memory. Each of the implementations supports the parallelization of applications written using an asynchronous single-threaded programming style, and each of them enables applications to benefit from parallel execution

    The parallel event loop model and runtime: a parallel programming model and runtime system for safe event-based parallel programming

    Get PDF
    Recent trends in programming models for server-side development have shown an increasing popularity of event-based single- threaded programming models based on the combination of dynamic languages such as JavaScript and event-based runtime systems for asynchronous I/O management such as Node.JS. Reasons for the success of such models are the simplicity of the single-threaded event-based programming model as well as the growing popularity of the Cloud as a deployment platform for Web applications. Unfortunately, the popularity of single-threaded models comes at the price of performance and scalability, as single-threaded event-based models present limitations when parallel processing is needed, and traditional approaches to concurrency such as threads and locks don't play well with event-based systems. This dissertation proposes a programming model and a runtime system to overcome such limitations by enabling single-threaded event-based applications with support for speculative parallel execution. The model, called Parallel Event Loop, has the goal of bringing parallel execution to the domain of single-threaded event-based programming without relaxing the main characteristics of the single-threaded model, and therefore providing developers with the impression of a safe, single-threaded, runtime. Rather than supporting only pure single-threaded programming, however, the parallel event loop can also be used to derive safe, high-level, parallel programming models characterized by a strong compatibility with single-threaded runtimes. We describe three distinct implementations of speculative runtimes enabling the parallel execution of event-based applications. The first implementation we describe is a pessimistic runtime system based on locks to implement speculative parallelization. The second and the third implementations are based on two distinct optimistic runtimes using software transactional memory. Each of the implementations supports the parallelization of applications written using an asynchronous single-threaded programming style, and each of them enables applications to benefit from parallel execution

    Automated Large-Scale Multi-Language Dynamic Program Analysis in the Wild (Artifact)

    Get PDF
    This artifact provides a preliminary release of NAB, a distributed infrastructure for executing large-scale dynamic program analyses (DPAs). The artifact consists of ready-to-use Docker containers that allow one to run different DPA tools (Deep-Promise, JITProf, and tgp) on Node.js, Java, and Scala projects hosted on GitHub. The artifact enables the reproduction of the figures and tables of the related paper "Automated Large-scale Multi-language Dynamic Program Analysis in the Wild" with pre-collected data (several GBs) and the execution of DPAs on specific sets of GitHub projects

    Generic Messages: Capability-based Shared Memory Parallelism for Event-loop Systems

    Get PDF
    Systems based on event-loops have been popularized by Node.JS, and are becoming a key technology in the domain of cloud computing. Despite their popularity, such systems support only share-nothing parallelism via message passing between parallel entities usually called workers. In this paper, we introduce a novel parallel programming abstraction called Generic Messages (GEMs), which enables shared-memory parallelism for share-nothing event-based systems. A key characteristic of GEMs is that they enable workers to share state by specifying how the state can be accessed once it is shared. We call this aspect of the GEMs model capability-based parallelism

    GEMs: Shared-memory Parallel Programming for Node.js

    Get PDF
    JavaScript is the most popular programming language for client-side Web applications, and Node.js has popularized the language for server-side computing, too. In this domain, the minimal support for parallel programming remains however a major limitation. In this paper we introduce a novel parallel programming abstraction called Generic Messages (GEMs). GEMs allow one to combine message passing and shared-memory parallelism, extending the classes of parallel applications that can be built with Node.js. GEMs have customizable semantics and enable several forms of thread safety, isolation, and concurrency control. GEMs are designed as convenient JavaScript abstractions that expose high-level and safe parallelism models to the developer. Experiments show that GEMs outperform equivalent Node.js applications thanks to their usage of shared memory

    Efficient and Thread-Safe Objects for Dynamically-Typed Languages

    Get PDF
    We are in the multi-core era. Dynamically-typed languages are in widespread use, but their support for multithreading still lags behind. One of the reasons is that the sophisticated techniques they use to efficiently represent their dynamic object models are often unsafe in multithreaded environments. This paper defines safety requirements for dynamic object models in multithreaded environments. Based on these requirements, a language-agnostic and thread-safe object model is designed that maintains the efficiency of sequential approaches. This is achieved by ensuring that field reads do not require synchronization and field updates only need to synchronize on objects shared between threads. Basing our work on JRuby+Truffle, we show that our safe object model has zero overhead on peak performance for thread-local objects and only 3% average overhead on parallel benchmarks where field updates require synchronization. Thus, it can be a foundation for safe and efficient multithreaded VMs for a wide range of dynamic languages

    Towards Scalable Service Composition on Multicores

    Get PDF
    Abstract. The advent of modern multicore machines, comprising several chip multi-processors each offering multiple cores and often featuring a large shared cache, offers the opportunity to redesign the architecture of service composition engines in order to take full advantage of the underlying hardware resources. In this paper we introduce an innovative service composition engine architecture, which takes into account specific features of multicore machines while not being constrained to run on any particular processor architecture. Our preliminary performance evaluation results show that the system can scale to run thousands of concurrent business process instances per second

    Circulating tumor cells correlate with patterns of recurrence in patients with hormone-sensitive prostate cancer

    Get PDF
    The aim of this study was to evaluate the correlation between circulating tumor cells (CTCs) and patterns of recurrence in patients with hormone-sensitive prostate cancer. The study involved patients with histologically confirmed, advanced prostatic adenocarcinoma, who were tested for CTCs (Veridex\uae) when they developed recurrence after radical prostatectomy or external beam radiation between 2008 and 2014. Forty-two prostate cancer patients were evaluated. CTCs were detected in 14 out of 42 (33.3%) patients (Group A), while the remaining 28 (66.7%) showed undetectable levels of CTCs (Group B). The mean prostate-specific antigen value was higher in Group A in comparison to Group B (6.2 vs 3.3 ng/dL) (P=0.48). Presence of bone metastases alone or along with nodal metastases was more common in Group A (57.1%) in comparison to Group B (25%) (P=0.04). In a univariate analysis, the presence of CTCs at diagnosis correlated with the development of bone recurrence (OR: 4; 95% CI: 1.0\u201315.9; P=0.05). Even if the study enrolled only a small number of patients, the detection of CTCs in the blood appears to correlate with the pattern of progression in patients with hormone-sensitive prostate cancer, suggesting a possible role in anticipating recurrence at the bone in men with higher tumor load. Further prospective studies are warranted in this setting

    Low-Dose Oral Ethinylestradiol With Concomitant Low-Dose Acetylsalicylic Acid for Advanced Castrate-Resistant Prostate Cancer

    Get PDF
    BACKGROUND: The aim of the present study was to evaluate the activity and tolerability of low-dose oral ethinylestradiol (EE) and luteinizing hormone-releasing hormone analogue with concomitant low-dose acetylsalicylic acid (ASA) as a thromboprophylactic agent for advanced castrate-resistant prostate cancer (CRPC). PATIENTS AND METHODS: The patients received an EE dose of 150 \u3bcg daily (50 \u3bcg 3 times daily) and an ASA dose of 100 mg once daily. The primary endpoint was the prostate-specific antigen response. RESULTS: A total of 32 patients were enrolled. A PSA response was observed in 19 patients (59.3%; 95% confidence interval [CI], 41%-76%). The median progression-free survival was 9.4 months (95% CI, 6.5-14.1 months). The treatment was generally well tolerated and no grade 3-4 toxicity was observed. Only 1 patient interrupted EE because of a cardiac event and 1 patient experienced grade 2 nausea and vomiting. No major bleeding occurred. CONCLUSION: Low-dose EE with concomitant low-dose ASA is safe, showing potential activity in patients with advanced CRPC, and should be investigated furthe
    corecore